Graphical menu builder for encoding applications in an image

ABSTRACT

The present invention provides a method and apparatus for encoding applications in an image. One embodiment of the method includes forming a first image that encodes information indicative of a map relating one or more pixel patterns to functionality implemented by a processor-based device. The first image is formed so that the processor-based device can decode the information to generate the map. The method also includes forming a second image that includes the pixel pattern(s). The second image is formed so that the processor-based device can detect the pixel pattern(s) and implement the functionality using the map.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is related to U.S. patent application Ser. No.12/894,483 entitled “System for Information and Function Retrieval,”which was filed on Sep. 30, 2010.

BACKGROUND

This application relates generally to processor-based systems, and, moreparticularly, to image acquisition and processing techniques implementedin processor-based systems.

Processor-based systems that once required a roomful of electronics arenow routinely implemented in handheld processor-based devices such assmart phones. For example, a smart phone may include cellular and/orwireless radios that operate according to conventional standards and/orprotocols. A smart phone may also include processors, memories,multi-touch screens, cameras, Global Positioning System (GPS)functionality, 3-axis gyros, accelerometers, light sensors, and otherfunctionality. The functionality of the smart phone can be used tocreate software applications that are conventionally referred to as“apps”.

Customers and retailers have found that smart phones can facilitatecommunication about particular products before, during, and afterpurchase. Smart phones can therefore enhance the customer experience andhelp retailers to increase sales. For example, retailers can advertisetheir products and provide customer service before, during, and afterpurchase of the product. However, easy access to online productinformation via smart phones may cause brick-and-mortar retailers tolose customers. For example, a customer may come into a store to “kickthe tires” of a product such as a television before deciding whether topurchase the television. The customer may also use their smart phone todo online product research and/or price research, e.g. usingone-dimensional bar codes and/or two-dimensional quick response (QR)codes that identify the product. If the price research reveals a lowerprice, the customer may decide to purchase the television at a differentstore or online. The retailer may therefore lose the sale even thoughthe retailer provided the in-store experience that convinced thecustomer to purchase the television.

Retailers can combat the tendency of customers to leave the store insearch of lower prices by providing enhanced customer service, which maybe facilitated by communication via smart phones. However,brick-and-mortar retailers may not be able to exploit all thecapabilities of these devices because communication between the retailerand a customer may be disrupted if the customer's smart phone losesaccess to the cellular communication system when the customer enters abuilding. In this situation, customers can only gather the informationencoded in one-dimensional barcodes and/or two-dimensional QR codes.

SUMMARY

Generally, the present application describes embodiments of techniquesthat allow users of processor-based devices, such as wireless-enabledhandheld devices or smart phones, to gather information encoded in animage. One-dimensional bar codes and/or two-dimensional quick response(QR) codes are the conventional standardized formats for encodingcharacters in an image. For example, a camera in a handheld device canbe used to scan a QR code that can then be parsed using a code readerthat operates according to the predetermined standards. The QR code caninclude pricing information, product specifications, information thatdirects the user to a website, information that can be used to contact acustomer service representative, and the like. However, the standardizedQR code image must conform to the predetermined standard and must onlyinclude black and white squares arranged according to the standard. Forexample, a QR code includes version information in a predeterminedlocation within the QR code, format information, three sets of nestedsquares to define the position of the QR code, another set of nestedsquares to determine alignment, and a set of squares to define thetiming for the QR code. The remaining area within the QR code can thenbe used to convey data such as numbers and/or characters using patternsdefined by the standard. Although standardizing QR codes allows them tobe read by any code reader that is implemented according to thestandard, this results in a number of drawbacks. For example, QR codesmay appear ugly or intrusive when attached to products and standard QRcodes cannot be used to visually identify or brand the company orproduct. For another example, the amount of information that can beencoded in a QR code may be limited. These drawbacks may reduce theability of retailers to retain customers by providing information and/orpersonal service inside the store.

The disclosed subject matter is directed to addressing the effects ofone or more of the problems set forth above. The following presents asimplified summary of the disclosed subject matter in order to provide abasic understanding of some aspects of the disclosed subject matter.This summary is not an exhaustive overview of the disclosed subjectmatter. It is not intended to identify key or critical elements of thedisclosed subject matter or to delineate the scope of the disclosedsubject matter. Its sole purpose is to present some concepts in asimplified form as a prelude to the more detailed description that isdiscussed later.

In one embodiment, a method is provided for encoding applications in animage. One embodiment of the method includes forming a first image thatencodes information indicative of a map relating one or more pixelpatterns to functionality implemented by a processor-based device. Thefirst image is formed so that the processor-based device can decode theinformation to generate the map. The method also includes forming asecond image that includes the pixel pattern(s). The second image isformed so that the processor-based device can detect the pixelpattern(s) and implement the functionality using the map.

In another embodiment, a method is provided for decoding applicationsthat are encoded in an image. One embodiment of the method includesdecoding, using a processor-based device, a first representation of afirst image that encodes information indicative of a map relating one ormore pixel patterns to functionality implemented by the processor-baseddevice. Embodiments of the method also include implementing, in theprocessor-based device, the functionality in response to detecting thepixel pattern(s) in a second representation of a second image using themap.

In yet another embodiment, a computer readable media is provided thatincludes instructions that when executed can configure a processor-baseddevice to perform a method for decoding applications that are encoded inan image. Embodiments of the computer readable media includeinstructions for decoding a first representation of a first image thatencodes information indicative of a map relating one or more pixelpatterns to functionality implemented by the processor-based device.Embodiments of the computer readable media also include instructions forimplementing, in the processor-based device, the functionality inresponse to detecting the pixel pattern(s) in a second representation ofa second image using the map.

In a further embodiment, a visual presentation is provided. Oneembodiment of the visual presentation includes a first image thatencodes information indicative of a map relating one or more pixelpatterns to functionality implemented by a processor-based device. Thefirst image is formed so that the processor-based device can decode theinformation to generate the map. The visual presentation also includes asecond image that includes one or more pixel patterns. The second imageis formed so that the processor-based device can detect the pixelpattern(s) and implement the functionality using the map.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosed subject matter may be understood by reference to thefollowing description taken in conjunction with the accompanyingdrawings, in which like reference numerals identify like elements, andin which:

FIG. 1 conceptually illustrates one exemplary embodiment of acommunication system;

FIG. 2 conceptually illustrates one exemplary embodiment of a processordevice such as a smartphone;

FIG. 3 conceptually illustrates one exemplary embodiment of a handhelddevice;

FIG. 4 conceptually illustrates one exemplary embodiment of a pixeldecoder map;

FIGS. 5A-5C conceptually illustrate one exemplary embodiment of agraphical menu building technique that can be used to create visualpresentations that encode functionality of processor devices; and

FIG. 6 conceptually illustrates one exemplary embodiment of a method forconfiguring a processor device using information encoded in an acquiredimage.

While the disclosed subject matter is susceptible to variousmodifications and alternative forms, specific embodiments thereof havebeen shown by way of example in the drawings and are herein described indetail. It should be understood, however, that the description herein ofspecific embodiments is not intended to limit the disclosed subjectmatter to the particular forms disclosed, but on the contrary, theintention is to cover all modifications, equivalents, and alternativesfalling within the scope of the appended claims.

DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS

Illustrative embodiments are described below. In the interest ofclarity, not all features of an actual implementation are described inthis specification. It will of course be appreciated that in thedevelopment of any such actual embodiment, numerousimplementation-specific decisions should be made to achieve thedevelopers' specific goals, such as compliance with system-related andbusiness-related constraints, which will vary from one implementation toanother. Moreover, it will be appreciated that such a development effortmight be complex and time-consuming, but would nevertheless be a routineundertaking for those of ordinary skill in the art having the benefit ofthis disclosure.

The disclosed subject matter will now be described with reference to theattached figures. Various structures, systems and devices areschematically depicted in the drawings for purposes of explanation onlyand so as to not obscure the present invention with details that arewell known to those skilled in the art. Nevertheless, the attacheddrawings are included to describe and explain illustrative examples ofthe disclosed subject matter. The words and phrases used herein shouldbe understood and interpreted to have a meaning consistent with theunderstanding of those words and phrases by those skilled in therelevant art. No special definition of a term or phrase, i.e., adefinition that is different from the ordinary and customary meaning asunderstood by those skilled in the art, is intended to be implied byconsistent usage of the term or phrase herein. To the extent that a termor phrase is intended to have a special meaning, i.e., a meaning otherthan that understood by skilled artisans, such a special definition willbe expressly set forth in the specification in a definitional mannerthat directly and unequivocally provides the special definition for theterm or phrase.

Embodiments of the techniques described herein may address drawbacks inconventional barcodes or QR codes by including an image that representsa “dictionary” or “map” that defines relationships between pixelpatterns that may be found in the image and functionality of theprocessor-based device. For example, the image, which may becolloquially referred to as a “decoder ring” image, can cross referencea plurality of pixel patterns and a corresponding plurality of functionsthat are implemented by the processor-based device. The imagerepresenting the pixel cross-reference map may be included in a visualpresentation that also includes some or all the pixel patterns definedby the map, so that the visual presentation encodes functionality of thedevice. The decoder ring image can be read using a camera installed inthe device and the representation generated by the camera can beanalyzed/decoded using image processing functionality to generate a mapof the relationships between different pixel patterns and the devicefunctionality. The decoder ring image may also include information thatidentifies pixel patterns used to convey version information, formatinformation, data and/or error correction keys, as well as patterns usedto establish position, alignment, and/or timing for the encoded image.The map generated from the decoded image can then be used to detect oneor more of the pixel patterns in another image, which may be part of thesame display or visual presentation as the decoder ring image. The pixelpatterns can be defined by numbers of pixels, shapes of groups ofpixels, pixel colors, pixel shading, and/or combinations thereof. Pixelpatterns can also be used to define numbers, characters, and/or otherdata that may be input to the functions of the device. The map can bedefined using a computer language that is implemented in the deviceusing an app that may be provided by developer, a retailer, a vendor,and the like.

FIG. 1 conceptually illustrates one exemplary embodiment of acommunication system 100. In the illustrated embodiment, thecommunication system 100 includes a cellular network 105 that canprovide wireless connectivity using one or more base stations 110. Thecellular network 105 may operate according to any suitable wirelesscommunication standards and/or protocols, such as Global System forMobile communications (GSM) standards and/or protocols, code divisionmultiple access (CDMA) standards and/or protocols, or other standardsand/or protocols defined by the Third Generation Partnership Project(3GPP). However, persons of ordinary skill in the art having benefit ofthe present disclosure should appreciate that other embodiments ofcellular networks may operate according to other standards and/orprotocols. The illustrated embodiment of the communication system 100also includes a Wi-Fi network 115 that can provide wireless connectivityusing one or more access points 120. The Wi-Fi network 115 may operateaccording to standards and/or protocols such as the various IEEE 802standards and/or protocols. However, persons of ordinary skill in theart having benefit of the present disclosure should appreciate thatother embodiments of Wi-Fi networks may operate according to otherstandards and/or protocols.

The communication system 100 may support wireless communication with oneor more processor-based devices such as wireless-enabled handhelddevices or smartphones 125. In the illustrated embodiment, thesmartphone 125 implements functionality such as radios that supportwireless communication. For example, the smart phone 125 may includecellular and/or wireless radios that operate according to Global Systemfor Mobile communications (GSM) standards and/or protocols, codedivision multiple access (CDMA) standards and/or protocols, various IEEE802 wireless standards and/or protocols, Bluetooth standards and/orprotocols, and the like. The smartphone 125 also includes otherfunctionality such as processors, memories, multi-touch screens, digitalcameras, Global Positioning System (GPS) functionality, 3-axis gyros,accelerometers, light sensors, and other functionality. Thefunctionality of the smartphone 125 can be configured to performdifferent tasks using software applications, which may be referred tohereinafter as “apps” in accordance with conventional use in the art.

Embodiments of the smartphone 125 may be configured to gatherinformation regarding products such as a television 130 and tofacilitate communication with retailers selling the products. In theillustrated embodiment, a user has brought the smartphone 125 into astore 135 during a visit to research the possible purchase of thetelevision 130. The retailer is interested in providing optimal customerservice and as much information as possible to convince the user topurchase the television 130 from the store 135. In one embodiment, theretailer may want to provide information such as specifications for theproduct 130, the price of the product 130, availability of the product130, upgrades or service contracts that can be purchased with theproduct 130, accessories, and the like. In other embodiments, theretailer may want to allow the user to summon a clerk to discuss theproduct 130, connect the user to a customer service call center 137,connect the user to other networks 139 such as a relevant socialnetwork, and the like.

The retailer may therefore provide a visual presentation 140 thatencodes information that can be decoded using a pixel reader appinstalled on the smartphone 125. In the illustrated embodiment, thevisual presentation 140 includes a pixel cross reference image 145 thatencodes a map that cross-references one or more pixel patterns tofunctionality implemented in the smartphone 125. For example, the pixelcross reference image 145 may use a predetermined pixel language that isknown to the pixel reader app and can be used to encode the mapping ofthe pixel patterns to the smartphone functionality. The visualpresentation 140 also includes one or more other images 150 that use thepixel patterns defined by the pixel cross reference image 145 to encodecombinations of smartphone functionality and possibly otherconfiguration information that can be used to configure apps in thesmartphone 125. In various embodiments, the visual presentation 140 maybe associated with the product 130 by positioning a piece of paper, alabel, an adhesive sticker, a sign, a brochure, other publishedmaterials, or other display including the visual presentation 140 nearor on the product 130. Alternatively, for products such as televisions130 that include display devices or screens, the visual presentation 140may be presented by the product, e.g., by displaying the visualpresentation 140 on a screen that is built into the product 130.

FIG. 2 conceptually illustrates one exemplary embodiment of a processordevice such as a smartphone 200. In the illustrated embodiment, thesmartphone 200 includes image acquisition functionality such as a camera205 that includes conventional optical elements for acquiring images andconventional circuitry for converting the acquired images into a digitalrepresentation of the image. Techniques for implementing and operatingimage acquisition functionality are known in the art and in the interestof clarity only those aspects of implementing and operating imageacquisition functionality that are relevant to the claimed subjectmatter are discussed in detail herein. The illustrated embodiment of thesmartphone 200 also includes a multi-touch screen 210 for displayingimages and allowing a user to interact with the display. Techniques forimplementing and operating touchscreens and multi-touch screens areknown in the art and in the interest of clarity only those aspects ofimplementing and operating the touchscreen 210 that are relevant to theclaimed subject matter are discussed in detail herein.

The smartphone 200 may be configured to acquire images that encodefunctionality of the smartphone 200. In the illustrated embodiment, thecamera 205 may be used to acquire a digital representation of a visualpresentation 215 that includes a pixel cross reference image 220 (shownhere as a “decoder ring” image) that encodes a map that cross-referencesone or more pixel patterns to functionality that may be implemented inthe smartphone 200. The visual presentation 215 also includes an image225 that may include combinations of the pixel patterns identified inthe map 220. The pixel patterns in the image 225 may therefore be usedto encode functionality that can be used to configure functionsimplemented in the smartphone 200, e.g., the pixel patterns in the image225 may encode apps that can be used by the smartphone 200. For example,the decoder ring image 220 may cross reference the image of a magnifyingglass to Internet search functionality implemented in the smart phone200, the image of an envelope to e-mail functionality, the image of ashopping cart to functionality for purchasing items, the image of aphone to cell phone functionality, the image of a “?” to functionalityfor summoning a store clerk to the location of the cell phone, and thelike.

The smartphone 200 can use the decoder ring image 220 to create a pixelcross-reference map that can then be used to identify pixel patterns inthe image 225, decode the pixel patterns, and then configure theassociated functionality of the smartphone 200. In the illustratedembodiment, the image 225 includes various pixel patterns 230 thatidentify or encode different functions that may be implemented in thesmartphone 200. The image 225 may also include characters or othersymbols 235 that may include information used to configure the functionsassociated with the pixel patterns 230. For example, the symbols 235 mayinclude an e-mail address used to configure the e-mail functionalityassociated with the envelope symbol to send an e-mail to a particularaddress. For another example, the symbols 235 may include a phone numberthat may be used to configure the cell phone functionality to call aparticular number, such as the number of a call center. In oneembodiment, the symbols 235 may be extracted from the image 225 usingoptical character recognition or other techniques. Coloring and/orshading may in some cases be used to obscure or hide the symbols 235 sothat users may not be able to see the symbols 235 and yet the symbols235 may still be extracted from the image 225 using the image processingfunctionality.

Once the smartphone 200 has decoded the information in the image 225 andconfigured the functionality represented in the patterns 230 and/orsymbols 235, the smartphone 200 may compile the functionality andgenerate machine instructions for executing the configured apps. The appmay be executed in response to being compiled or the machineinstructions may be stored for later execution. The smartphone 200 mayalso display icons 240 that can be used to activate or execute the apps,e.g., when a user taps the icon 240.

FIG. 3 conceptually illustrates one exemplary embodiment of a handhelddevice 300. In the illustrated embodiment, the handheld device 300implements a camera 305 that includes optics and/or circuitry used toacquire external images and generate a digital output signalrepresentative of the acquired image. The digital output signal can beprovided to an image reader application 310 that can apply imagedetection, pattern recognition, character recognition, and/or otheralgorithms to detect and/or identify patterns of pixels in the digitaloutput signal representative of the acquired image. The patterns ofpixels may be identified based on the number of pixels, the absolutepositions or relative positions of the pixels, colors of the pixels,shading or transparency of the pixels, or other characteristics of thepixels or combinations of pixels. In the illustrated embodiment, theimage reader app 310 is configured to identify and decode an image thatincludes information indicating a pixel-pattern-to-functioncross-reference map 315, which may also be referred to as a pixeldecoder map, a decoder ring, and the like. The decoded information canthen be stored in memory in the handheld device 300 as a pixel decodermap 315.

FIG. 4 conceptually illustrates one exemplary embodiment of a pixeldecoder map 400. In the illustrated embodiment, the left-hand columnincludes information indicating a pixel pattern and the right-handcolumn includes information indicating the functionality associated withthe corresponding pixel pattern. For example, the pixel decoder map 400indicates that a pattern of 35 blue pixels followed by 35 red pixelsencodes cellular phone functionality that is configured to dial a callcenter (CC), e.g., so that a user can speak to an operator regardingsome item or product. For another example, the pixel decoder map 400indicates that a 4×4 pattern of green pixels encodes functionality thatcan be used to request an in-store representative. This functionalitymay include functionality for accessing a Wi-Fi system implemented inthe store to send a message requesting a representative that is familiarwith the associated product. The message may also indicate the preciselocation of the user (e.g., using global positioning systemfunctionality of the smartphone) and the functionality may allow therepresentative to track the user in case the user moves away from theinitial location. For yet another example, the pixel decoder map 400 mayindicate that a logo may encode functionality that automatically loadsthe vendor website associated with the logo.

Referring back to FIG. 3, the image reader app 310 may use theinformation stored in the pixel decoder map 315 to decode additionalimages acquired by the camera 305. In one embodiment, the image readerapp 310 may identify one or more pixel patterns in the acquired imagethat correspond to pixel patterns identified in the pixel decoder map315. For example, the image reader app 310 may identify a series of 35blue pixels followed by 35 red pixels, a 4×4 pattern of green pixels, avendor logo, or other pixel pattern identified in the pixel decoder map315. The image reader app 310 may then provide a signal indicating thatthe device 300 should configure one or more apps corresponding to thepixel patterns in the acquired image. For example, the image reader app310 may provide signals indicating the functionality and any otherconfiguration information encoded in the acquired image to one or moreprocessor elements 320 so that the functionality can be configured andare compiled to generate one or more apps. The generated apps 325 canthen be stored for subsequent execution. In the illustrated embodiment,the handheld device 300 is a wireless-enabled handheld device that canuse one or more radios 330 to communicate with other networks such ascellular networks and/or Wi-Fi networks.

FIGS. 5A, 5B, and 5C conceptually illustrate one exemplary embodiment ofa graphical menu building technique that can be used to create visualpresentations that encode functionality of processor devices. In theillustrated embodiment, the graphical menu builder 500 shown in FIG. 5Apresents a menu 505 of functionality that can be incorporated or encodedinto a visual presentation. The graphical menu builder 500 may beimplemented and/or executed on a processing device and the menu 505 maybe presented on a display connected to or otherwise associated with theprocessing device. For example, icons 507 corresponding to functionalitythat may be implemented in a processor device such as a smart phone canbe presented in the menu 505. The graphical menu builder 500 may alsopresent a template 510 that illustrates where the images that encodedifferent functions can be positioned within the visual presentation.For example, the template 510 includes various boxes 515 that show wherebuttons can be inserted. Each button location may also include templateentries 520 for text, properties, or other configuration informationrelated to the functionality that may be encoded at the button location.

FIG. 5B conceptually illustrates how a user can use drag-and-droptechniques to select an icon 525 from the menu 505, “drag” the icon 525,and then “drop” the icon 525 into a location in the template 510.Drag-and-drop techniques are known in the art and in the interest ofclarity only those aspects of these techniques that are relevant to theclaimed subject matter are described in detail herein. Furthermore,persons of ordinary skill in the art having benefit of the presentdisclosure should appreciate that other graphical user interfacetechniques may be used to populate fields in the template 510 based onthe icons presented in the menu 505. For example, if the menu 505 ispresented using a touchscreen or a multi-touch screen, then users canpopulate fields in the template 510 by touching the appropriate portionof the screen and dragging their finger to the appropriate location inthe template 510. Textual information, properties of the functionalityindicated by the icon 525, and the like may also be entered into theappropriate position in the template 510.

In FIG. 5C, the template 510 has been populated with icons 530representing functionality that may be implemented in processor devicessuch as smart phones. The illustrated embodiment of the template 510also includes configuration information 535 that can be used toconfigure the functionality represented by the icons 530. The template510 can be used to generate a visual presentation 540, as indicated bythe arrow 545. In the illustrated embodiment, generating the visualpresentation 540 includes generating an image 550 that includes pixelpatterns representative of the icons 530 and pixel patterns thatrepresent the configuration information 535. Generating the visualpresentation 540 also includes generating a decoder ring image 555 thatencodes a pixel cross-reference map that can be used to decode the pixelpatterns in the image 550. The visual presentation 540 may be generatedin any desirable format. For example, a printer may be used to print thevisual presentation 540 on a piece of paper, a poster, a decal, a pricetag, and the like. For another example, the visual presentation 540 maybe stored in a digital form that can be used to display the visualpresentation on a display, a screen, using a projection system, and thelike.

FIG. 6 conceptually illustrates one exemplary embodiment of a method 600for configuring a processor device using information encoded in anacquired image. In the illustrated embodiment, the processor device usesimage acquisition technology such as a camera and associated optics,software, firmware, and/or hardware to acquire (at 605) an image from avisual presentation. The processor device can scan (at 610) through adigital representation of the image and attempt (at 615) to identify aportion of the image that includes a pixel decoder image. In variousembodiments, different pattern recognition techniques may be used toidentify the portion of the image that includes the pixel decoder image.The processor device continues the scan (at 610) as long as theprocessor device has not yet identified (at 615) a portion of the imageincluding a pixel decoder image. If the processor device identifies (at615) a pixel decoder image, then the processor device can extract (at620) or decode the pixel decoder map, which may then be stored by theprocessor device for later use decoding other portions of the image inthe visual presentation.

The processor device may also scan (at 625) the image to identify pixelpatterns that correspond to patterns identified in the cross-referenceor decoder map defined in the pixel decoder portion of the image. Thescan may continue (at 625) until a known pixel pattern is found (at 630)in the image and/or the scan has completed (at 635) searching throughall of the pixels in the acquired image. The scan ends (at 640) when allthe pixels have been searched. Each time a known pixel pattern is found(at 630) the processor device can decode the known pixel pattern toidentify the corresponding functionality of the processor device. Theprocessor device may also extract configuration information that can beused to configure the corresponding functionality indicated by the knownpixel pattern. The processor device then generates (at 645) thefunctionality or app using the functionality and/or configurationinformation. Each image may encode one or more apps using pixel patternsor combinations of pixel patterns to define the app.

Embodiments of the techniques described in the present application maybe used to drag-and-drop menu items to build handheld applications. Asthe menu is being built, a picture is generated that includes code,buttons, functions, configuration information, and the like encoded intodata that is pixelated into a picture. The generated picture may bestored on a server and used to generate a visual presentation that canbe scanned, e.g., using a processor device such as a smart phone. Thescanned presentation can then be used to generate the menu and thecorresponding function on the processor device. The flexibility providedby encoding the pixel cross-reference map into the image allows almostany image to be used to encode any functionality supported by thedevice. This has a number of advantages, including allowing the image tobe customized for aesthetic and/or branding purposes and allowingsignificantly more data to be encoded within the picture, relative tothe amount of data that can be stored using conventional barcodes or QRcodes. For example, given sufficient resolution in the camera and thevisual presentation, each pixel could encode multiple bits ofinformation using the pixel color, shading, location, and the like.

Alternative embodiments may also be used to customize products orservices purchased by consumers. For example, retailers that sellgreeting cards may allow customers to customize their own cards in thestores. In one embodiment, a customer could add a visual presentation tothe card that can encode functionality to turn the card into a “living”card. For example, a visual presentation on the card may encodefunctionality that can be used to implement apps that present videos ofthe family's latest home movie, an app to initiate a phone call to aloved one using a personalized ring tone, an app configured to set up alunch appointment, a link to a gift card, and the like. Otheralternative embodiments may be used to tag documentation with imagesthat encode apps that can connect readers with additional informationsuch as videos, technical documentation, and the like.

Portions of the disclosed subject matter and corresponding detaileddescription are presented in terms of software, or algorithms andsymbolic representations of operations on data bits within a computermemory. These descriptions and representations are the ones by whichthose of ordinary skill in the art effectively convey the substance oftheir work to others of ordinary skill in the art. An algorithm, as theterm is used here, and as it is used generally, is conceived to be aself-consistent sequence of steps leading to a desired result. The stepsare those requiring physical manipulations of physical quantities.Usually, though not necessarily, these quantities take the form ofoptical, electrical, or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise, or as is apparent from the discussion,terms such as “processing” or “computing” or “calculating” or“determining” or “displaying” or the like, refer to the action andprocesses of a computer system, or similar electronic computing device,that manipulates and transforms data represented as physical, electronicquantities within the computer system's registers and memories intoother data similarly represented as physical quantities within thecomputer system memories or registers or other such information storage,transmission or display devices.

Note also that the software implemented aspects of the disclosed subjectmatter are typically encoded on some form of program storage medium orimplemented over some type of transmission medium. The program storagemedium may be magnetic (e.g., a floppy disk or a hard drive) or optical(e.g., a compact disk read only memory, or “CD ROM”), and may be readonly or random access. Similarly, the transmission medium may be twistedwire pairs, coaxial cable, optical fiber, or some other suitabletransmission medium known to the art. The disclosed subject matter isnot limited by these aspects of any given implementation.

The particular embodiments disclosed above are illustrative only, as thedisclosed subject matter may be modified and practiced in different butequivalent manners apparent to those skilled in the art having thebenefit of the teachings herein. Furthermore, no limitations areintended to the details of construction or design herein shown, otherthan as described in the claims below. It is therefore evident that theparticular embodiments disclosed above may be altered or modified andall such variations are considered within the scope of the disclosedsubject matter. Accordingly, the protection sought herein is as setforth in the claims below.

1. A method, comprising: forming a first image that encodes informationindicative of a map relating at least one pixel pattern to at least onefunction implemented by a processor-based device, wherein the firstimage is formed so that the processor-based device can decode saidinformation to generate the map; and forming a second image thatcomprises said at least one pixel pattern, wherein the second image isformed so that the processor-based device can detect said at least onepixel pattern using the map and implement said at least one function. 2.The method of claim 1, wherein forming the first image and forming thesecond image comprises forming the first and second images adjacent eachother in a visual presentation so that the processor-based device canacquire the first and second images using a camera implemented in theprocessor-based device.
 3. The method of claim 2, wherein forming thefirst and second images in the visual presentation comprises forming thefirst and second images in a visual presentation comprising at least oneof a label, a sign, an adhesive sticker, a piece of paper, a brochure,or published materials.
 4. The method of claim 3, wherein forming thesecond image comprises mapping said at least one pixel pattern in thesecond image to at least one customer service function related to theproduct.
 5. The method of claim 1, wherein forming the first imagecomprises forming a first image encoding a map relating said at leastone function to at least one of a number of pixels, a pixel color, apixel shading value, or a shape determined by the pixel pattern.
 6. Themethod of claim 5, wherein forming the second image comprises embeddingat least one of the number of pixels, the pixel color, the pixel shadingvalue, or the shape determined by the pixel pattern into the secondimage to indicate said at least one function to the processor-baseddevice.
 7. The method of claim 6, comprising embedding at least one of acharacter or a number into the second image, wherein at least oneposition of said at least one character or number indicates anassociation with said at least one function, and wherein said at leastone character or number is used to configure said at least one functionwhen implemented in the processor-based device.
 8. A method, comprising:decoding, using a processor-based device, a first representation of afirst image that encodes information indicative of a map relating atleast one pixel pattern to at least one function implemented by theprocessor-based device; and implementing, in the processor-based device,said at least one function in response to detecting said at least onepixel pattern in a second representation of a second image using themap.
 9. The method of claim 8, comprising acquiring the firstrepresentation using a camera implemented in the processor-based deviceto acquire the first representation from a visual presentationcomprising the first image.
 10. The method of claim 9, comprisingacquiring the second representation using the camera to acquire thesecond representation from the visual presentation comprising the secondimage.
 11. The method of claim 10, wherein acquiring the first andsecond representations comprises acquiring the first and secondrepresentations from first and second images in a visual presentationpositioned near a product or incorporated into published materialsassociated with the product.
 12. The method of claim 11, comprisingdetecting at least one pixel pattern that indicates at least onefunction for providing customer service related to the product.
 13. Themethod of claim 8, comprising acquiring an application for decodingimages that encode information indicative of maps relating pixelpatterns to functions implemented by processor-based devices andimplementing the application in the processor-based device so that theprocessor-based device can decode the first image using the application.14. The method of claim 8, comprising executing said at least onefunction in response to user input to the processor-based device.
 15. Acomputer readable media including instructions that when executed canconfigure a processor-based device to perform a method comprising:decoding a first representation of a first image that encodesinformation indicative of a map relating at least one pixel pattern toat least one function implemented by the processor-based device; andimplementing, in the processor-based device, said at least one functionin response to detecting said at least one pixel pattern in a secondrepresentation of a second image using the map.
 16. The computerreadable media of claim 15, wherein the instructions when executed canconfigure the processor-based device to perform a method comprisingacquiring the first representation using a camera implemented in theprocessor-based device to acquire the first representation from a visualpresentation comprising the first image.
 17. The computer readable mediaof claim 16, wherein the instructions when executed can configure theprocessor-based device to perform a method comprising acquiring thesecond representation using the camera to acquire the secondrepresentation from the visual presentation comprising the second image.18. The computer readable media of claim 17, wherein the instructionswhen executed can configure the processor-based device to perform amethod comprising acquiring the first and second representations fromfirst and second images in a visual presentation positioned near aproduct or incorporated into published materials associated with theproduct.
 19. The computer readable media of claim 18, wherein theinstructions when executed can configure the processor-based device toperform a method comprising detecting at least one pixel pattern thatindicates at least one function for providing customer service relatedto the product.
 20. The computer readable media of claim 15, wherein theinstructions when executed can configure the processor-based device toperform a method comprising executing said at least one function inresponse to user input to the processor-based device. 21.-27. (canceled)